The Internet has decades of history of being used as a basis of supporting today's information-based society, and directly serves billions of users worldwide. A traditional Internet network architecture features in tree-like layering and stage-by-stage aggregation. As a subset of the Internet, a metropolitan area network starting from a first network layer that directly serves a terminal user needs to pass through a county aggregation node and a city core node in turn, to finally connect to a provincial core node. A network performance bottleneck is easily caused because of many network layers and links, which restricts a user access speed, and in addition, management is complex, and scalability is poor.
To resolve the foregoing problems, an OpenFlow® protocol is put forward, and a forwarding/control separation architecture is used in this protocol. An external control plane entity controls, using the OpenFlow protocol, a forwarding plane device to implement various types of forwarding logic. A main function of the forwarding plane device is performing controlled forwarding according to a flow table delivered by an OpenFlow controller, and the act of the forwarding plane device is standard. That is, a switch receives a packet, extracts a header-related field value from the packet, and uses the field value as a keyword to search the flow table; and after the field value matches an entry, changes a packet field according to an instruction set in content of the entry, and forwards the changed packet field to a logical or physical port according to an instruction. This protocol further evolves into a basis of a software-defined networking (SDN) technology, that is, various complex network applications may be implemented on a control plane by means of software programming, and no change needs to be made to the forwarding plane device. Because the control plane is implemented using a general server and a general-purpose operating system, which may be implemented using a general software programming tool, or may be implemented using a script programming language such as Python, a new network protocol easily gains support and a period for deploying a new technology is greatly shortened. Compared with a traditional network, an SDN network is much stricter about communication procedure control. Communication can be established only when any end-to-end communication request is first approved by a response network controller and configuration on a related device in a path is completed.
A basic OpenFlow network includes two main control entities: a network controller and a switch. Generally, a centralized network controller is deployed in the network, and is responsible for domain control management of all OpenFlow switches in an entire network domain. However, as a network scale continuously increases, a throughput for processing a path switch request by a network controller is limited, which reduces processing efficiency of the network controller, and a prominent problem is poor network scalability.